#include <stdio.h>
#include <stdlib.h>

typedef struct linknode
{
	int data;
	struct linknode *next;
}link_node;

int linkinsert(link_node *H,int newdata);
int hashfind(int *arr);
link_node *linkcreat();


int main(int argc, const char *argv[])
{
	int arr[12]={12,39,57,2,29,48,66,70,15,33,88,30};

	int ret=hashfind(arr);

	if(ret==1)
	{
		printf("yes\n");
	}
	return 0;
}

int hashfind(int *arr)
{
	int mynum=12;
	link_node *nodearr[12];
	int i=0;
	int j=0;
	int flag=0;
	for(i=0;i<12;i++)
	{
		nodearr[i]=linkcreat();
	}
	for(i=0;i<12;i++)
	{
		j=arr[i]%12;
		linkinsert(nodearr[j],arr[i]);
	}
	int inputnum;
	printf("plz input num\n");
	printf(">>>");
	scanf("%d",&inputnum);
	int findnum=inputnum%12;
	while(nodearr[findnum]->next!=NULL)
	{
		nodearr[findnum]=nodearr[findnum]->next;
		if(nodearr[findnum]->data==inputnum)
		{
			flag=1;
			break;
		}
	}
	return flag;
	
}

link_node *linkcreat()
{
	link_node *H=(link_node *)malloc(sizeof(link_node));
	H->data=0;
	H->next=NULL;

	return H;
}

int linkinsert(link_node *H,int newdata)
{
	link_node *p=(link_node *)malloc(sizeof(link_node));
	p->data=newdata;
	p->next=H->next;
	H->next=p;

	return 0;
}




